using System.ComponentModel.DataAnnotations;

namespace Datav.Design.Datas.Ticket
{
    /// <summary>
    /// 考核人员管理 Dto
    /// </summary>
    public class PeopleDto
    {
        /// <summary>
        /// 唯一Id
        /// </summary>
        public long Id { get; set; }

        /// <summary>
        /// 所属考核计划ID
        /// </summary>
        public long InspecPlanId { get; set; }

        /// <summary>
        /// 培训考点(试点院校）Id
        /// </summary>
        public long PilotId { get; set; }

        /// <summary>
        /// 试卷ID
        /// </summary>
        public long ExamId { get; set; }

        /// <summary>
        /// 考核案例Id
        /// </summary>
        public long CaseId { get; set; }

        /// <summary>
        /// 申请人
        /// </summary>
        public long UserId { get; set; }

        /// <summary>
        /// 报名时间
        /// </summary>
        public DateTime SignUpDate { get; set; }

        /// <summary>
        /// 审核时间
        /// </summary>
        public DateTime AuditDate { get; set; }

        /// <summary>
        /// 状态  0 已报名 1 审核通过 2 审核未通过
        /// </summary>
        public int Status { get; set; }

        /// <summary>
        /// 是否缴费
        /// </summary>
        public bool IsPay { get; set; }

        /// <summary>
        /// 注册手机号码
        /// </summary>
        public string MobilePhone { get; set; }

        /// <summary>
        /// 预留手机号码
        /// </summary>
        public string Telephone { get; set; }

        /// <summary>
        /// 报考类别  0 系统申请 1导入
        /// </summary>
        public int Type { get; set; }
    }

    /// <summary>
    /// 考生报名
    /// </summary>
    public class SignUpDto
    {
        /// <summary>
        /// 报考考核计划ID
        /// </summary>
        public long InspecPlanId { get; set; }

        /// <summary>
        ///
        /// </summary>
        public long PilotId { get; set; }

        /// <summary>
        ///
        /// </summary>
        public long TenantId { get; set; }

        /// <summary>
        /// 报名学校
        /// </summary>
        public string SchoolName { get; set; }

        /// <summary>
        /// 报名学校
        /// </summary>
        public long SchoolId { get; set; }

        /// <summary>
        /// 证件照
        /// </summary>
        [Required(ErrorMessage = "证件照不能为空")]
        public string IDPhoto { get; set; }

        /// <summary>
        /// 省
        /// </summary>
        [Required(ErrorMessage = "省份不能为空")]
        public string Provinces { get; set; }

        /// <summary>
        /// 市
        /// </summary>
        [Required(ErrorMessage = "城市不能为空")]
        public string City { get; set; }

        /// <summary>
        /// 城市编码
        /// </summary>
        public int CityCode { get; set; }

        /// <summary>
        /// 邮寄地址
        /// </summary>
        [Required(ErrorMessage = "邮寄地址不能为空")]
        public string Address { get; set; }

        /// <summary>
        /// 区
        /// </summary>
        public string Area { get; set; }

        /// <summary>
        /// 考生姓名
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 手机号码
        /// </summary>
        [Required(ErrorMessage = "手机号码不能为空")]
        public string MobilePhone { get; set; }

        /// <summary>
        /// 证书邮件手机号码
        /// </summary>
        //[Required(ErrorMessage = "手机号码不能为空")]
        public string Telephone { get; set; }
    }

    /// <summary>
    ///
    /// </summary>
    public class VerifyPeopleDto
    {
        /// <summary>
        ///
        /// </summary>
        public long Id { get; set; }

        /// <summary>
        /// 报考考核计划ID
        /// </summary>
        public long InspecPlanId { get; set; }

        /// <summary>
        /// 报考人员ID
        /// </summary>
        //[Required(ErrorMessage = "审核人员不能为空")]
        public long UserId { get; set; }

        /// <summary>
        /// 状态  0 已报名 1 审核通过 2 审核未通过
        /// </summary>
        public int Status { get; set; }

        /// <summary>
        /// 原因
        /// </summary>
        public string Content { get; set; }
    }

    /// <summary>
    ///
    /// </summary>
    public class LoginDto
    {
        /// <summary>
        /// 报名预留手机号码
        /// </summary>
        public string? UserName { get; set; }

        /// <summary>
        /// 密码
        /// </summary>
        public string? Password { get; set; }

        /// <summary>
        /// 验证码唯一Id
        /// </summary>
        public long VerifyCodeId { get; set; }

        /// <summary>
        /// 验证码
        /// </summary>
        public string? VerifyCode { get; set; }
    }

    /// <summary>
    ///
    /// </summary>
    public class ExamGroupDto
    {
        /// <summary>
        ///
        /// </summary>
        public long CaseId { get; set; }

        /// <summary>
        /// 帐号前缀
        /// </summary>
        public string? Prefix { get; set; }

        /// <summary>
        /// 几组，默认一组帐号
        /// </summary>
        public int Number { get; set; } = 1;

        /// <summary>
        /// 4  生产四个账号模式
        /// </summary>
        public int DefaultMode { get; set; } = 4;

        /// <summary>
        /// 密码
        /// </summary>
        public string? Password { get; set; }
    }

    /// <summary>
    /// 考试考试信息
    /// </summary>
    public class InspectionPeople
    {
        /// <summary>
        ///
        /// </summary>
        public long Id { get; set; }

        /// <summary>
        /// 准考证号码
        /// </summary>
        public string? Ticket { get; set; }

        /// <summary>
        /// 手机号码
        /// </summary>
        public string? MobilePhone { get; set; }

        /// <summary>
        /// 考核人员名称
        /// </summary>
        public string? Name { get; set; }

        /// <summary>
        /// 证书类别
        /// </summary>
        public string? CreTypeName { get; set; }

        /// <summary>
        /// 证书等级
        /// </summary>
        public string? CreLevelName { get; set; }

        /// <summary>
        /// 身份证号
        /// </summary>
        public string? IDCard { get; set; }

        /// <summary>
        /// 身份证照片
        /// </summary>
        public string? IDPhoto { get; set; }

        /// <summary>
        /// 报考科目
        /// </summary>
        public string? ExaminationSubjects { get; set; }

        /// <summary>
        /// 考核计划Id
        /// </summary>
        public long InspecPlanId { get; set; }

        /// <summary>
        /// 考核人员
        /// </summary>
        public long UserId { get; set; }

        /// <summary>
        /// 试卷ID
        /// </summary>
        public long ExamId { get; set; }

        /// <summary>
        /// 案例Id
        /// </summary>
        public long CaseId { get; set; }

        /// <summary>
        /// 考试主作答Id
        /// </summary>
        public long GradeId { get; set; }

        /// <summary>
        /// 考核对象 0老师 1学生
        /// </summary>
        public int Target { get; set; }

        /// <summary>
        /// 考核日期
        /// </summary>
        public DateTime PlanDate { get; set; }

        /// <summary>
        /// 考试时间
        /// </summary>
        public TimeSpan StartTime { get; set; }

        /// <summary>
        /// 结束时间
        /// </summary>
        public TimeSpan EndTime { get; set; }
    }
}